home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 26 / AACD 26.iso / AACD / Programming / AllPlaton / Unsorted / PostDisk12-94.AMOS / PostDisk12-94.amosSourceCode < prev    next >
Encoding:
AMOS Source Code  |  1996-02-05  |  13.8 KB  |  541 lines

  1. Hide 
  2. 'Dload "ST-00:Modules/mod.cyberotica",-3 
  3. 'Bank Name 3,"Cyberoti"
  4. 'Dload "ST-00:modules/Mod.sequential",-4 
  5. 'Bank Name 4,"Sequenti"
  6.  Extension_8_10F2 0
  7.  Extension_8_108E 3
  8. Clear Key 
  9. SNOW
  10. Clear Key 
  11. STAR
  12. Clear Key 
  13. GAME
  14. Clear Key 
  15. TEXPAGE
  16. For A=64 To 0 Step -1 : Extension_8_10C6 A : Wait Vbl : Next 
  17.  Extension_8_10A8 
  18.  Extension_8_10C6 64
  19.  Extension_8_108E 4
  20. Clear Key 
  21. FINALSCROLLER
  22. For A=64 To 0 Step -1 : Extension_8_10C6 A : Wait Vbl : Next 
  23.  Extension_8_10A8 
  24. End 
  25. Procedure TEXPAGE
  26.   Dim LD(7,3)
  27.   Reserve As Work 12,4+32*3
  28.   ST=Start(12)
  29.   Doke ST,1
  30.   Doke ST+2,2
  31.    Extension_8_0A24 12
  32.   Screen Open 0,320,256,16,0
  33.   Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 
  34.   Get Block 1,0,0,16,16
  35.   For A=0 To 7
  36.     C=Deek(Start(13)+32+A*2)
  37.     Colour A,C
  38.     Colour A+8, Extension_8_0EFC(C,$444,0 To $FFF)
  39.   Next 
  40.   Rem    01234567890123456789
  41.      T$="AHH DU HAST DAS ENDE"
  42.   T$=T$+"ERREICHT? COOL :)   "
  43.   T$=T$+"                    "
  44.   T$=T$+"WIE GEHTS DENN SO?  "
  45.   T$=T$+"ALSO MIR GEHTS WIE- "
  46.   T$=T$+"DER EIN WENIG BESSER"
  47.   T$=T$+"WENN DU VERSTEHST,  "
  48.   T$=T$+"WAS ICH MEINE :)    "
  49.   T$=T$+"                    "
  50.   T$=T$+"ICH WERD WOHL WIEDER"
  51.   T$=T$+"HAEUFIGER BEI DER AW"
  52.   T$=T$+"CALLEN...           "
  53.   T$=T$+"                    "
  54.   T$=T$+"MACHEN WIR MIT EINEM"
  55.   T$=T$+"KLEINEN GEDICHT WEI-"
  56.   T$=T$+"TER...              "
  57.   T$=T$+"NUN HAST DU WIEDER  "
  58.   T$=T$+"       EINE POSTDISK"
  59.   T$=T$+"LANGE ZEIT HAT ES   "
  60.   T$=T$+"           GEBRAUCHT"
  61.   T$=T$+"GLAUBST DU DASS MICH"
  62.   T$=T$+" DEINE KATZE FRISST?"
  63.   T$=T$+"DES HAETTE MICH GE- "
  64.   T$=T$+"          SCHLAUCHT!"
  65.   T$=T$+"                    "
  66.   T$=T$+"ICH WUENSCHE DIR EIN"
  67.   T$=T$+"        FROHES FEST!"
  68.   T$=T$+"TOUT A COUP AND ALL "
  69.   T$=T$+"           THE BEST!"
  70.   T$=T$+"SCHOENES NEUES JAHR!"
  71.   T$=T$+"ES WIRD ALLES       "
  72.   T$=T$+"          WUNDERBAR!"
  73.   T$=T$+"ICH MERK SCHON, ICH "
  74.   T$=T$+"BIN HEUTE NICHT GUT "
  75.   T$=T$+"DRAUF... SCHADE :(  "
  76.   T$=T$+"                    "
  77.   T$=T$+"HAST DU EIGENTLICH  "
  78.   T$=T$+"IMMER NOCH DIESE    "
  79.   T$=T$+"PROBLEME MIT DEINEN "
  80.   T$=T$+"FESTPLATTEN???      "
  81.   T$=T$+"                    "
  82.   T$=T$+"MIA FAELLT NIX MEHR "
  83.   T$=T$+"EIN... ICH BIN EIN  "
  84.   T$=T$+"SCHWEIN... CIAO...  "
  85.   T$=T$+"                    "
  86.   T$=T$+"DRUECK NE TASTE...  "
  87.   T$=T$+"                    "
  88.   T$=T$+"                    "
  89.   T$=T$+"                    "
  90.   T$=T$+"                    "
  91.   T$=T$+"                    "
  92.   T$=T$+"                    "
  93.   T$=T$+"  IMMER NOCH DA???  "
  94.   T$=T$+"                    "
  95.   T$=T$+"                    "
  96.   T$=T$+"                    "
  97.   T$=T$+"                    "
  98.   T$=T$+"DUMDIDUM...         "
  99.   T$=T$+"                    "
  100.   T$=T$+"ICH HASSE DIESE ZOOM"
  101.   T$=T$+"ROUTINE, DIE IS SOOO"
  102.   T$=T$+"LAHM :(((           "
  103.   T$=T$+"                    "
  104.   T$=T$+"TEXT RESTARTS...    "
  105.   X=0 : Y=0 : LD=0 : BL=1 : T=0 : PT=1 : WAI=0
  106.   Double Buffer 
  107.   Autoback 0
  108.   Repeat 
  109.     Screen Swap : Wait Vbl 
  110.     C=0
  111.     For A=0 To 7
  112.       If LD(A,2)
  113.          Extension_8_0A36 LD(A,0)/16,LD(A,1)/16,0
  114.         LETZOOM[LD(A,2)-32,LD(A,0),LD(A,1),Min(LD(A,3),16)]
  115.         Inc LD(A,3) : Inc C
  116.       End If 
  117.     Next 
  118.     If C=0 and PT=0
  119.       Inc WAI
  120.       If WAI=261
  121.         WAI=0 : PT=1
  122.         Fade 2
  123.          Extension_8_121C 0,0 : Extension_8_121C 0,1 : Extension_8_121C 0,2 : Extension_8_121C 0,3
  124.         Screen Swap 
  125.          Extension_8_121C 0,0 : Extension_8_121C 0,1 : Extension_8_121C 0,2 : Extension_8_121C 0,3
  126.         Wait 32
  127.         For A=0 To 7
  128.           C=Deek(Start(13)+32+A*2)
  129.           Colour A,C
  130.           Colour A+8, Extension_8_0EFC(C,$444,0 To $FFF)
  131.         Next 
  132.       End If 
  133.       If WAI>200
  134.          Extension_8_121C 0,3 : Extension_8_1258 
  135.          Extension_8_1372 160,128,(WAI-199)*2,3 : Extension_8_1042 0,3
  136.         If WAI=248
  137.           Fade 1,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF
  138.         End If 
  139.       End If 
  140.     End If 
  141.     T=1-T
  142.     If T=0
  143.       If PT
  144.         LD(LD,0)=X+8 : LD(LD,1)=Y+8
  145.         LD(LD,2)=Asc(Mid$(T$,BL,1))
  146.         If LD(LD,2)=32
  147.           LD(LD,2)=0
  148.         End If 
  149.         LD(LD,3)=2
  150.         Add X,16
  151.         If X=320
  152.           X=0
  153.           Add Y,16
  154.           If Y=256
  155.             Y=0 : PT=0 : WAI=0
  156.           End If 
  157.         End If 
  158.         Add BL,1,1 To Len(T$)
  159.       Else 
  160.         LD(LD,2)=0
  161.       End If 
  162.       Add LD,1,0 To 7
  163.     End If 
  164.   Until Inkey$<>""
  165.   Fade 2 : Wait 32
  166.   Screen Close 0
  167.   Erase 12
  168. End Proc
  169. Procedure SNOW
  170.   Dim SNOW(50,2)
  171.   Unpack 15 To 0
  172.   For A=0 To 15 : Colour A,0 : Next 
  173.   For A=0 To 500
  174.      Extension_8_0388 Rnd(319),Rnd(299),Rnd(1)+1
  175.   Next 
  176.   For A=0 To 49
  177.     SNOW(A,0)=Rnd(319)
  178.     SNOW(A,1)=Rnd(312)
  179.     SNOW(A,2)= Extension_8_039E(SNOW(A,0),SNOW(A,1))
  180.   Next 
  181.   Repeat 
  182.     Multi Wait 
  183.   Until Extension_8_10B6 
  184.   Fade 10,0,$99F,$554,$FD0,$EA0,$D61,$800,$411,$35A,$238,$118,$15,$4,$3,$225,$36
  185.   SY=0 : Y=312*256 : T=0 : SNOW=1
  186.   Repeat 
  187.     PT= Extension_8_10B6 
  188.     If PT=1 Then T=1
  189.     If T Then Inc T
  190.     If T>0
  191.       D=Max(Y-T*1024,0)-Y
  192.       Add SY,(D-SY*64)/64
  193.       Add Y,SY
  194.       Screen Offset 0,0,Y/256
  195.     End If 
  196.     If PT=2 Then Fade 10,,,,,,,,,,,,,,,,0
  197.     Wait Vbl 
  198.     If SNOW
  199.       C=0
  200.       For A=0 To 49
  201.         XX=SNOW(A,0) : YY=SNOW(A,1)
  202.         If YY-200<Y/256
  203.           C=1
  204.            Extension_8_0388 XX,YY,SNOW(A,2)
  205.           Add SNOW(A,0),Rnd(4)-2
  206.           Inc SNOW(A,1)
  207.           P= Extension_8_039E(SNOW(A,0),YY+1)
  208.           If P<>1 and P<>2 : SNOW(A,2)=P : End If 
  209.            Extension_8_0388 SNOW(A,0),YY+1,Rnd(1)+1
  210.         End If 
  211.       Next 
  212.       If C=0 : SNOW=0 : End If 
  213.     End If 
  214.   Until PT=3
  215.   Fade 1 : Wait 16
  216.   Screen Close 0
  217. End Proc
  218. Procedure STAR
  219.   Screen Open 0,224,128,32,0
  220.   Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 0
  221.   Screen Display 0,128,50,224,128
  222.   Double Buffer 
  223.   For A=0 To 31
  224.     C=0
  225.     If A and 1 Then Add C,$330
  226.     If A and 2 Then Add C,$330
  227.     If A and 4 Then Add C,$330
  228.     If A and 8 Then Add C,$330
  229.     If A and 16 Then Add C,$330
  230.     Colour A,C
  231.   Next 
  232.   X=-25600 : Y=64 : BP=1
  233.   R=64
  234.   WW=0 : SX=0 : DC=0
  235.   Repeat 
  236.     Add BP,BP,1 To 16
  237.      Extension_8_121C 0, Extension_8_0506(BP)
  238.     Add W,4
  239.     D=40960-X
  240.     Add SX,(D-SX*16)/16
  241.     Add X,SX
  242.     If Extension_8_10B6 =$1 Then DC=1
  243.     If DC=1 and R>2 Then Dec R
  244.     S=0
  245.     For A=0 To 1024 Step 64
  246.       If S
  247.         DX= Extension_8_1114(A+W,R)
  248.         DY= Extension_8_1106(A+W,R)
  249.         S=0
  250.       Else 
  251.         DX= Extension_8_1114(A+W,R/3)
  252.         DY= Extension_8_1106(A+W,R/3)
  253.         S=1
  254.       End If 
  255.       If A
  256.          Extension_8_1030 OX,OY To(X/256)+DX,Y+DY,BP,-BP
  257.       End If 
  258.       OX=(X/256)+DX : OY=Y+DY
  259.     Next 
  260.      Extension_8_1042 0, Extension_8_0506(BP)
  261.     Screen Swap : Wait Vbl 
  262.   Until R=2
  263.   Screen Close 0
  264. End Proc
  265. Procedure GAME
  266. '  Load Iff "dh2:amosgfx/gamedisk1/explosion",0  
  267. '  For A=0 To 22 
  268. '    Get Sprite A+9,(A mod 20)*16,(A/20)*16 To(A mod 20)*16+16,(A/20)*16+16
  269. '    Hot Spot A+9,7,7
  270. '  Next  
  271. '  Imploder Load "PostDisk.ptl",9
  272. '  Bank Permanent 9
  273.   Screen Open 0,704,256,16,0
  274.   Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 
  275.   For A=0 To 15 : Colour A,0 : Next 
  276.   Screen Display 0,144,40,304,256
  277.    Extension_8_0A24 9
  278. '  Dload "PostDiskBlocks.map",10 
  279. '  Bank Name 10,"Map"
  280.   Make Mask 
  281.   ST=Start(10)+4
  282.   Z$="ABCDEFGHIJKLMNOPQRSTUVWXYZ?!:,."
  283.   T$="  HALLO MARKUS! WILLKOMMEN ZUR POSTDISK "
  284.   T$=T$+"ZU WEIHNACHTEN...   NACHDEM ICH DIR SOOO LANGE KEINE MEHR GESCHRIE"
  285.   T$=T$+"BEN HABE, WOLLTE ICH MAL WAS GAAANZ ANDERES MACHEN... VIEL SPASS BEIM "
  286.   T$=T$+"SPIELEN..."
  287.   For X=0 To Len(T$)-1
  288.     P=Instr(Z$,Mid$(T$,X+1,1))+208
  289.     If P=208 Then P=0
  290.     Poke ST+X+512,P
  291.   Next 
  292.   For X=0 To 21
  293.     For Y=0 To 15
  294.        Extension_8_0A36 X,Y,Peek(ST+X+Y*512)
  295.     Next 
  296.   Next 
  297.   Set Rainbow 0,15,260,"","",""
  298.   Set Rainbow 1,15,260,"","",""
  299.   C0=0 : C1=0 : C2=4
  300.   For A=0 To 259
  301.     If(A mod 10)=0 Then C2=Min(C2+1,15)
  302.     If(A mod 12)=0 and C2=15 Then C1=Min(C1+1,15)
  303.     If(A mod 16)=0 and C1>10 Then Inc C0
  304.     Rain(1,A)= Extension_8_0A0E(C0,C1,C2)
  305.     If Rain(1,Max(A-1,0))<>Rain(1,A) Then Rain(1,Max(A-2,0))=Rain(1,A)
  306.   Next 
  307.   Screen Copy 0,0,0,352,256 To 0,352,0
  308.   Screen Offset 0,32,0
  309.   Wait Vbl 
  310.   Rainbow 0,0,Y Hard(0)-1,258
  311.   Fade 2,0,$DDF,$AAD,$66B,$FE0,$B50,$620,$420,$6F,$A,$F0F,$667,$444,$F0F,$F0F,$2C
  312.   Colour 17,$CCC : Colour 18,$68 : Colour 19,$70
  313.   Colour 21,$FF0 : Colour 22,$D70 : Colour 23,$C00
  314.   Colour 25,$CCC : Colour 26,$860 : Colour 27,$F00
  315.   Colour 29,$CCC : Colour 30,$860 : Colour 31,$F00
  316.   For A=0 To 15
  317.     Wait Vbl : View 
  318.      Extension_8_135C 0 To 1
  319.   Next 
  320.   BYPOS=0 : LP=0 : MX=0
  321.   MANX=16*256 : MANY=200*256 : MANSY=0 : MANSX=0 : MANAN=0 : MANDI=0
  322.   Dim SP(7,5),EX(1,2)
  323.   For A=1 To 7
  324.     SP(A,0)=(Rnd(320)+100)*256
  325.     SP(A,1)=200*256
  326.     SP(A,2)=Rnd(3)
  327.     SP(A,4)=Rnd(1)
  328.   Next 
  329.   EXL=0
  330.   While Inkey$=""
  331.     Wait Vbl 
  332.     Gosub EVIL
  333.     Gosub MANCONTROL
  334.     Gosub MAPSCROLLING
  335.     While BUSY
  336.       Exit If Extension_8_0338 >270
  337.       Gosub BUILD
  338.     Wend 
  339.   Wend 
  340.   Fade 1
  341.   For A=0 To 15
  342.      Extension_8_1348 0,0 : View 
  343.     Wait Vbl 
  344.   Next 
  345.   Sprite Off 
  346.   Rainbow Del 
  347.   Screen Close 0
  348.   View : Wait Vbl 
  349. Pop Proc
  350. EVIL:
  351.   For A=0 To 1
  352.     If EX(A,2)
  353.       Add EX(A,2),1,0 To 23
  354.       If EX(A,2)=23
  355.         EX(A,2)=0 : Sprite Off A+2
  356.       Else 
  357.         Sprite A+2,X Hard(EX(A,0)),Y Hard(EX(A,1)),EX(A,2)+8
  358.       End If 
  359.     End If 
  360.   Next 
  361.   For A=4 To 5
  362.     EX=((SP(A,0)/256) mod 352)+32 : EY=SP(A,1)/256
  363.     Sprite A,X Hard(SP(A,0)/256-LP),Y Hard(EY),SP(A,2)/8+1+SP(A,3)*4
  364.     If Extension_8_039E(EX,EY+1)=15 Then Add SP(A,4),9
  365.     If Extension_8_039E(EX,EY-1)<15 Then SP(A,4)=-Rnd(500)*SP(A,5) : Add SP(A,1),-256
  366.     R=(MANX-SP(A,0))/256
  367.     C=Sprite Col(A,0 To 5)
  368.     If R>256 or C
  369.       EX(EXL,0)=SP(A,0)/256-LP
  370.       EX(EXL,1)=EY-5
  371.       EX(EXL,2)=1
  372.       Add EXL,1,0 To 1
  373.       SP(A,0)=(Rnd(512)-256)*256+MANX
  374.       SP(A,1)=0
  375.       SP(A,2)=Rnd(3)
  376.       SP(A,4)=Rnd(1)
  377.     End If 
  378.     Add SP(A,1),SP(A,4)
  379.     If SP(A,1)<2560 Then SP(A,1)=2560
  380.     If SP(A,5)
  381.       Add SP(A,0),Sgn(R)*192
  382.       Add SP(A,2),3,0 To 31
  383.     Else 
  384.       R=-R
  385.       Add SP(A,0),Sgn(R)*64
  386.       Add SP(A,2),1,0 To 31
  387.     End If 
  388.     If Rnd(200+SP(A,5)*200)=0 Then SP(A,5)=1-SP(A,5)
  389.     If R=0 Then SP(A,2)=0
  390.     If R>0 Then SP(A,3)=0
  391.     If R<0 Then SP(A,3)=1
  392.   Next 
  393. Return 
  394. BUILD:
  395.   BP=(MX mod 352)/16
  396.   P=Peek(ST+MX/16+22+BYPOS*512)
  397.    Extension_8_0A36 BP+22,BYPOS,P
  398.    Extension_8_0A36 BP,BYPOS,P
  399.   Inc BYPOS : If BYPOS>15 Then BUSY=0 : BYPOS=0 : Add MX,16
  400. Return 
  401. MAPSCROLLING:
  402.   If LP>MX-16 Then BUSY=1
  403.   If X>160 Then Inc LP
  404.   If X>256 Then Inc LP
  405.   XP=Min(LP,MX) mod 352
  406.   Screen Offset 0,XP+32,0
  407.   Sprite 0,X Hard(X),Y Hard(Y),(MANAN/2)+MANDI*4+1
  408. Return 
  409. MANCONTROL:
  410.   Add MANX,MANSX
  411.   Add MANY,MANSY
  412.   If MANY<2560 Then MANY=2560
  413.   Add MANSY,9
  414.   X=((MANX/256) mod 352)+32 : Y=MANY/256 : MANBO=1
  415.   If Extension_8_039E(X,Y-1)<15 and MANBO=1 Then Add MANY,-256
  416.   If Extension_8_039E(X,Y)<15 and MANSY=>0
  417.     MANSY=0
  418.     For A=1 To 4
  419.       If Extension_8_039E(X,Y-A-1)=15
  420.         MANY=((MANY-A*256) and $FFFF00)+255
  421.         Add Y,-A
  422.         Exit 
  423.       End If 
  424.     Next 
  425.     MANBO=1
  426.     If A=5
  427.       MANSX=-MANSX : Add MANX,MANSX
  428.     End If 
  429.   Else 
  430.     MANBO=0
  431.     If Extension_8_039E(X,Y+1)<15 : Inc Y : Add MANY,256 : End If 
  432.     For A=1 To 4
  433.       Exit If Extension_8_039E(X,Y-A)=15
  434.     Next 
  435.     If A=5
  436.       MANSX=-MANSX : Add MANX,MANSX
  437.     End If 
  438.   End If 
  439.   MANSX=0
  440.   X=(MANX/256)-LP
  441.   If Jleft(1) and X>16 Then MANSX=-256 : MANDI=1
  442.   If Jright(1) Then MANSX=256 : MANDI=0
  443.   If Jup(1) and MANBO=1 Then MANSY=-500
  444.   If MANSX<>0
  445.     Add MANAN,1,0 To 7
  446.   Else 
  447.     MANAN=0
  448.   End If 
  449. Return 
  450. End Proc
  451. Procedure FINALSCROLLER
  452.   'Load Iff "dh2:dpaint/multifonts/16x16x04-Modern",0
  453.   'Spack 0 To 16 
  454.   Unpack 16 To 0 : Screen Hide 
  455.   For A=0 To 58
  456.     Get Block A+1,(A mod 20)*16,(A/20)*16,16,16
  457.   Next 
  458.   Screen Open 0,352,576,4,0
  459.   Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 
  460.   Palette 0,$FFF,$999,$555
  461.   Screen Display 0,104,40,352,256
  462.   YPOS=0
  463.   Screen Offset 0,0,YPOS+24
  464.   T$="DIES IST DAS ENDE$$DER POSTDISK$$WEIHNACHTEN 94$$$$ICH HOFFE ES HAT DIR$"
  465.   T$=T$+"GEFALLEN UND WUENSCHE$DIR NOCHMALS EIN$FROHES WEIHNACHTSFEST$$$"
  466.   T$=T$+"ICH GEBE ZU,$DASS SIE DIESMAL$NICHT GANZ SO$UMFANGREICH WAR$WIE SONST IMMER,$"
  467.   T$=T$+"ABER ICH DENKE,$DASS DAS DICH$NICHT STOEREN WIRD!$$DENN DIE NAECHSTE$"
  468.   T$=T$+"POSTDISK KOMMT$GARANTIERT!$$$$$WAS GIBTS NOCH$SO ZU SAGEN?$$ACH JA,$"
  469.   T$=T$+"VERGISS NICHT, MICH$MAL ZU VOICEN ;-)$ABER DANN LEGST$*DU*$AUF!$$$$$$"
  470.   T$=T$+"IST DIR EIGENTLICH$AUFGEFALLEN, WIE$SUPERSOFT DIESER$SCROLLER SCROLLT?$$$"
  471.   T$=T$+"IST WIEDER SO$EIN INTERLACE TRICK!$$$$$$$$DU KANNST JEDERZEIT$DEN SOURCECODE$"
  472.   T$=T$+"DES DEMOS HABEN,$WENN DU WILLST :-)$$$$$$$"
  473.   T$=T$+"ALSO DANN$$BIS IRGENDWANN MAL$$$CHRIS$$$$$"
  474.   T$=T$+"* CREDITS *$-----------$"
  475.   T$=T$+"CODE : CHRIS HODGES  $"
  476.   T$=T$+"MUSIC: CLAWZ/COMPLEX $"
  477.   T$=T$+"       MR.MAN/ANDROM.$"
  478.   T$=T$+"GFX  : RIPPED        $$$$$$$$$$$"
  479.   T$=T$+"THE END$$$$$$$$$$"
  480.   Set Rainbow 0,0,16,"","",""
  481.   For A=0 To 15
  482.     Rain(0,A)=$2204
  483.   Next 
  484.    Extension_8_1330 0,-64
  485.   Rainbow 0,0,Y Hard(-1),260
  486.   BP=1 : YP=0
  487.   Repeat 
  488.     Gosub PULET
  489.     If Deek($DFF004) and $8000 Then Wait Vbl 
  490.     Gosub PULET
  491.     Screen Offset 0,0,YPOS+24
  492.     Wait Vbl 
  493.     Add YPOS,1,0 To 287
  494.   Until BP=0
  495.   Screen Offset 0,0,YPOS+24
  496.   Rainbow Del : View 
  497.   Repeat 
  498.     Multi Wait 
  499.   Until Inkey$<>""
  500.   Fade 2 : Wait 32
  501.   Screen Close 0
  502. Pop Proc
  503.   PULET:
  504.     YP=YPOS and $FFF0
  505.     If(YPOS and 15)=0 Then LP=0
  506.     If LP=0
  507.       XP=184
  508.       For A=BP To Len(T$)
  509.         Exit If Mid$(T$,A,1)="$"
  510.         Add XP,-8
  511.       Next 
  512.       Inc LP : Return 
  513.     End If 
  514.     If LP=1
  515.       Ink 0 : Bar 0,YP To 351,YP+15
  516.       Inc LP : Return 
  517.     End If 
  518.     If LP=2
  519.       Ink 0 : Bar 0,YP+288 To 351,YP+303
  520.       Inc LP : Return 
  521.     End If 
  522.     If LP=3
  523.       P=Asc(Mid$(T$,BP,1))
  524.       Add BP,1,0 To Len(T$)
  525.       If P=36
  526.         LP=-1
  527.       Else 
  528.         Put Block P-31,XP,YP
  529.         Put Block P-31,XP,YP+288
  530.         Add XP,16
  531.       End If 
  532.     End If 
  533.   Return 
  534. End Proc
  535. Procedure LETZOOM[L,X,Y,Z]
  536.   Areg(0)=Start(13)+L*352
  537.   Dreg(0)=Z : Dreg(1)=Z
  538.   Dreg(2)=X-(Z+1)/2
  539.   Dreg(3)=Y-(Z+1)/2
  540.   Call Start(7)
  541. End Proc